Systems and methods for detecting and resolving sump pump failures

ABSTRACT

A method and system detects and resolves impending failures in a sump pump. The method and system may measure the current water level in a sump basin, which houses the sump pump. The current water level may be determined by a water level sensor placed slightly above the high water level mark in the sump basin. If the current water level is above the high water level mark, the method and system may activate a mechanical shaker that produces vibrations to physically shake the sump pump. If the current water level is below the high water level mark, the method and system may analyze a motor of the sump pump to determine if the run time of the motor exceeds a certain length of time. When the run time is determined to exceed the certain length of time, the method and system may send an alarm to notify a user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/281,141, filed on May 19, 2014, the entire disclosure of which ishereby expressly incorporated herein by reference.

TECHNICAL FIELD

The present application relates generally to sump pumps and, moreparticularly, to systems and methods for detecting and resolving sumppump failures.

BACKGROUND

A sump pump is a type of pump used to remove water that has accumulatedin the basement of a home. The sump pump sends the water into pipes thatlead away from the home so that potential basement flooding may beavoided. As such, failures in the sump pump can have disastrousconsequences including water damages and insurance losses. However, sumppump failures often occur without prior warning or may not be discovereduntil significant damage has already been done. Unfortunately, manycurrently available sump pump systems are not designed or equipped toautomatically detect impending sump pump failures, or remedy suchfailures even if they are detected.

SUMMARY

The features and advantages described in this summary and the followingdetailed description are not all-inclusive. Many additional features andadvantages will be apparent to one of ordinary skill in the art in viewof the drawings, specification, and claims hereof. Additionally, otherembodiments may omit one or more (or all) of the features and advantagesdescribed in this summary.

A computer-implemented method for detecting and resolving impendingfailures in a sump pump may comprise determining, by one or moreprocessors, a high water level in a sump basin in which the sump pump isdisposed. The method may also determine by one or more processors, if acurrent water level in the sump basin has surpassed the high waterlevel, where the current water level is determined by a water levelsensor placed at a short distance above the high water level. Inresponse to determining that the current water level in the sump basinhas surpassed the high water level, the method may activate, by one ormore processors, a mechanical shaker attached to the sump pump for oneor more operating cycles. In response to determining that the currentwater in the sump basin has not surpassed the high water level, themethod may determine, by one or more processors, if a run time of amotor of the sump pump exceeds a certain length of time. When the runtime of the motor is determined to exceed the certain length of time,the method may provide, by one or more processors, an alarm to notify auser.

A non-transitory computer-readable storage medium may includecomputer-readable instructions to be executed on one or more processorsof a system for detecting and resolving impending failures in a sumppump. The instructions when executed, may cause the one or moreprocessors to determine a high water level in a sump basin in which thesump pump is disposed. The instructions when executed, may also causethe one or more processors to determine if a current water level in thesump basin has surpassed the high water level, where the current waterlevel is determined by a water level sensor placed at a short distanceabove the high water level. In response to determining that the currentwater level in the sump basin has surpassed the high water level, theinstructions when executed, may cause the one or more processors toactivate a mechanical shaker attached to the sump pump for one or moreoperating cycles. In response to determining that the current water inthe sump basin has not surpassed the high water level, the instructionswhen executed, may determine if a run time of a motor of the sump pumpexceeds a certain length of time. When the run time of the motor isdetermined to exceed the certain length of time, the instructions whenexecuted may provide an alarm to notify a user.

A system for detecting and resolving impending failures in a sump pumpmay comprise a sump pump, a water level sensor coupled to the sump pump,a mechanical shaker coupled to the sump pump, and a pump analyzer thatincludes a memory having instructions for execution on one or moreprocessors. The instructions when executed by the one or moreprocessors, may cause the pump analyzer to determine a high water levelin a sump basin in which the sump pump is disposed. The instructionswhen executed by the one or more processors, may also cause the pumpanalyzer to determine if a current water level in the sump basin hassurpassed the high water level as determined by the water level sensor,where the water level sensor placed at a short distance above the highwater level. In response to determining that the current water level inthe sump basin has surpassed the high water level, the instructions whenexecuted by the one or more processors may cause the pump analyzer toactivate the mechanical shaker for one or more operating cycles. Inresponse to determining that the current water in the sump basin has notsurpassed the high water level, the instructions when executed by theone or more processors may determine if a run time of a motor of thesump pump exceeds a certain length of time. When the run time of themotor is determined to exceed the certain length of time, theinstructions when executed by the one or more processors may provide analarm to notify a user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example sump pump system.

FIG. 2 illustrates an example circuit diagram for detecting impendingsump pump failures.

FIGS. 3( a) and 3(b) illustrate example configurations for a mechanicalshaker that can be used to resolve detected sump pump failures.

FIG. 4 illustrates a flowchart of an example method for detecting andresolving sump pump failures.

The figures depict a preferred embodiment of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION

Generally speaking, the disclosed system automatically detects andresolves impending failures in sump pump systems. Sump pumps are used inareas where basement flooding is a recurring problem. A typical sumppump system comprises a submersible impeller type pump disposed in asump basin. The sump basin is a holding cavity formed by digging arecess into the basement floor of a home. The sump basin acts both tohouse the sump pump and to collect accumulated water. Water mayaccumulate in the sump basin when excessive amounts of rain, snow meltor ground water saturate the soil adjacent to the basement foundation.Water may also enter the sump basin via drainage pipes that have beenplaced into the ground to divert any excess water into the sump basinbefore the water can begin to permeate the foundation walls, or watermay enter the sump basin through porous or cracked walls. In any event,the pumping action of a sump pump removes water accumulated in the sumpbasin so that potential basement flooding may be avoided. When water ispumped out of the sump basin, the water is discharged via pipes to anarea away from the home such as a municipal storm drain or a dry well.

FIG. 1 illustrates an example sump pump system 100, which can be used toremove water accumulated in the basement of a home. The example sumppump system 100 includes a sump pump 102 located in a sump basin 104. Asshown in FIG. 1, the sump basin 104 is a well-like cavity or hole formedthrough a basement floor 106 of the home. The example sump pump system100 also includes a discharge pipe 108 connected to the sump pump 102 tocarry water out of the basin 104. The discharge pipe 108 extends upwardfrom the sump pump 102 through a check valve 110 and then out of thehome. The check valve 110 allows water to flow up through the dischargepipe 108, but will not allow the water in the discharge pipe 108 to flowback into the sump basin 104 when the sump pump 102 is off. Usually, theopening of the sump basin 104 is protected by a cover to prevent objectsfrom falling into the basin, and to keep noxious gases (e.g. radon) fromentering the basement.

Generally, the sump pump 102 may be electrically powered and hardwiredinto the electrical system of the home. Additionally or alternatively,the sump pump 102 may be powered by a battery or other independent powersource. The operation of the sump pump 102 is controlled by a pumpactivation switch 112 in response to water rising to a preset level inthe basin 104. The preset level is determined by the placement of thepump activation switch 112. In FIG. 1, the pump activation switch 112 isshown in the form of a float switch, although other technologies such asliquid level sensors may also be used.

As shown in FIG. 1, the pump activation switch 112 is connected to amotor 114 of the sump pump 102. The motor 114 energizes to begin pumpingwater when the current water level in the basin 104 reaches a high waterlevel 120 (e.g., when the rising water lifts the pump activation switch112 to the high water level 120). As water is pumped out of the basin104, the current water level drops to a low water or initial level 122(e.g., as the falling water carries the pump activation switch 112 backto the initial level 122). The motor 114 de-energizes or shuts off atthe initial level 122 and the water level ceases to drop further.

FIG. 1 also shows a water level sensor 116, which is placed a shortdistance (e.g., ¾ inch above) above the high water level 120 in the sumpbasin 104. The function and operation of the water level sensor 116 isdescribed in more detail below. Additionally, while the sump pump 102 inFIG. 1 is shown as a submersible type sump pump (e.g., where the motor114 and the sump pump 102 are mounted inside the basin 104), the sumppump 102 in general may be any type of sump pump, such as a pedestaltype sump pump that is mounted above or outside of the basin 104.

When the sump pump 102 fails, flooding may ensue as water fills up thesump basin 104 and overflows into the basement. The amount of water thatenters the basement can vary from a few inches to several feet. Thus,the resulting water damage may be considerable for which adequateinsurance coverage is usually limited or unavailable. Accordingly, theability to detect and resolve impending sump pump failures before theyoccur is of great importance.

In general, the sump pump 102 may fail because of a failure in the motor114, which renders the entire pump inoperable. The failure in the motor114 may be caused by various factors such as age, fatigue, poormaintenance, etc. Generally, as a motor begins to fail, characteristicchanges may appear in the electrical load waveform of the motor. Thus,one mechanism to detect impending sump pump failures is to analyze theelectrical load waveform of the motor 114 for meaningful signatures thatmay indicate potential problems.

To this end, FIG. 1 shows a pump analyzer 124 connected to the motor114, which may be used to detect impending failures associated with themotor 114. The pump analyzer 124 includes a processor 124A, a memory124B, and one or more interfaces 124C. The memory 124B storesinstructions, data and information that may be executed by the processor124A to operate the pump analyzer 124. The one or more interfaces 124Cmay include various interfaces such as a motor interface that allows thepump analyzer 124 to collect or receive the electrical load waveform ofthe motor 114, a user interface that allows a user to interact with thepump analyzer 124, a network interface that allows the pump analyzer 124to communicate with other devices or peripheral equipment, etc.

In one embodiment, to analyze the electrical load waveform of the motor114 for meaningful signatures, the pump analyzer 124 may perform afrequency analysis, such as fast Fourier transform (FFT) or the like, onthe motor current or voltage. From the frequency analysis, the pumpanalyzer 124 may look for certain harmonics or frequency components thatmay show up as the motor 114 begins to experience failure. For example,the pump analyzer 124 may look for the presence of high frequencyspikes, which may indicate potential problems such as motor instability.

In another embodiment, the pump analyzer 124 may analyze the electricalload waveform of the motor 114 for meaningful signatures by comparingthe electrical load waveform to one or more reference waveforms in orderto ascertain whether or not the motor 114 is operating as intended. Theone or more reference waveforms may include a standard waveform thatindicates the ideal operation of the motor 114. The standard waveformmay be established using factory test data from a manufacturer.Different manufacturers may create different standard waveforms for thepumps or motors that they produce. All of the different standardwaveforms may be pre-stored in the memory 124B for use by the pumpanalyzer 124. Alternatively or additionally, the different standardwaveforms may be stored in an external database accessible by the pumpanalyzer 124. As such, when needed, the pump analyzer 124 maycommunicate with the external database, via a network connection, toaccess and/or retrieve the different standard waveforms. Accordingly,the pump analyzer 124 may determine potential problems with the motor114 if the electrical load waveform of the motor 114 is determined to bedifferent or deviates from the standard waveform.

Alternatively or additionally, the one or more reference waveforms mayinclude a baseline waveform that indicates the initial operation of themotor 114. For example, the pump analyzer 124 may capture the initialcondition of the motor 114, either during set-up time or during thefirst few operating cycles, and store the initial motor condition as thebaseline waveform in the memory 124B. Thus, as the motor 114 operates,the pump analyzer 124 may compare the most recent electrical loadwaveform of the motor 114 to the baseline waveform. If the comparisonproduces a large variance or a variance that is outside of a tolerancelimit, then the pump analyzer 124 may determine that potential problemsmay exist for the motor 114. The tolerance limit can be adjusted asneeded. For example, the tolerance limit may be predefined at a factory,or set according to a user.

In still another embodiment, the pump analyzer 124 may analyze theelectrical load waveform of the motor 114 for meaningful signatures byevaluating values associated with the electrical load waveform (e.g.,average value, peak value, root mean square value, etc.). For example,the pump analyzer 124 may calculate and monitor the average value of themotor current or voltage over a specified time period. Accordingly, ifthe calculated average value stays within a predefined level over thespecified time period, then the pump analyzer 124 may determine that themotor 114 is functioning properly. On the other hand, if the calculatedaverage value rises above, drops below or otherwise fluctuates beyondthe predefined level over the specified time period, then the pumpanalyzer 124 may determine that the motor 114 is experiencing potentialproblems that may lead to a failure. Of course, the predefined level canbe set or adjusted as needed.

Generally, the pump analyzer 124 may perform any of the analysis methodsdescribed above either continuously or on an interval basis (e.g., every5 minutes, every hour, every day, etc.). It is understood that the aboveexample embodiments are described for illustration purposes. They arenot exclusive, and more than one such embodiments may be used or coexistwithin a single pump analyzer 124.

While FIG. 1 shows the pump analyzer 124 as being a separate unit fromthe sump pump 102, in some embodiments, the pump analyzer 124 may beintegrated with or be part of the sump pump 102. Further, in someembodiments, the pump analyzer 124 may perform the analysis remotely. Inthis scenario, the pump analyzer 124 may send the electrical loadwaveform of the motor 114 to be stored at a server (not shown in FIG. 1)via a network such as the Internet, a local area network, a wired orwireless network, etc. Once received, the server may process and analyzethe electrical load waveform of the motor 114 by using any of theanalysis methods described above.

FIG. 2 illustrates an example circuit diagram 200 for detectingimpending sump pump failures. In particular, the example circuit diagram200 may be used to detect impending failures associated with a motorsuch as the motor 114 of FIG. 1. With reference to FIG. 1, the examplecircuit diagram 200 may be implemented as part of the pump analyzer 124.In the embodiment of FIG. 2, the example circuit diagram 200 includes anelectrical contact 202, a current transducer 204, an amplifier circuit206, and a microprocessor unit 208. The electrical contact 202represents the output of the motor 114 where the electrical loadwaveform of the motor 114 may be obtained. The current transducer 204converts the obtained electrical load waveform of the motor 114 into asignal that can be used by the microprocessor unit 208. For example, thecurrent transducer 204 converts the measured electrical current of themotor 114 into an analog signal, which is then amplified by using theamplifier circuit 206. The output of the amplifier circuit 206 issubsequently fed into the microprocessor unit 208. In this manner, themicroprocessor unit 208 may process the electrical load waveform of themotor 114 to determine potential problems that may exist in the motor114. In some embodiments, the example circuit diagram 200 may includefilters, such as low-pass filters that may be connected to theelectrical contact 202, to remove noise or other unwanted interferencesignals. It should be noted that the circuit components (e.g., thecomponents 204, 206, 208) in FIG. 2 are shown for illustration purposes.In other embodiments or scenarios, fewer or more circuit components maybe used, as well as other circuit components with other configurations.

Aside from the failure of the motor 114, the sump pump 102 may failbecause of soft mechanical failures. For example, sediment or debrisbuild-up may cause the motor impeller to stall, and thus rendering thesump pump 102 unable to pump water even though the motor 114 isenergized. As such, another mechanism to detect impending sump pumpfailures is to monitor for the occurrence of soft mechanical failures.

Generally, soft mechanical failures may be identified or detectedindirectly. In an embodiment, soft mechanical failures may be detectedby using a properly placed water level sensor, such as the water levelsensor 116 of FIG. 1. In operation, if the water level sensor 116 doesnot detect water, then the water level in the basin 104 is deemedadequate. In other words, the sump pump 102 is either working properlyto constantly pump water out of the basin 104, or the water level is notyet high enough to activate the pump. In any event, it can be assumedthat the sump pump 102 is not experiencing any soft mechanical failure.On the other hand, if the water level sensor 116 detects water, thenwater is about to overflow the basin 104. In other words, a dangerouslevel of water is present in the basin 104, which may be due to a softmechanical failure that has rendered the sump pump 102 unable to pumpwater.

Additionally, functions of the pump analyzer 124 of FIG. 1 may be usedtogether with the water level sensor 116 to detect certain softmechanical failures, such as when the motor 114 becomes stuck and runsindefinitely. This may be due to a mechanical malfunction of the pumpactivation switch 112 or another activation element. In this scenario,when the water level sensor 116 does not detect water, the pump analyzer124 may analyze the electrical load waveform of the motor 114 todetermine how long the motor 114 is running. In general, if the sumppump 102 is working properly, then the motor 114 will automatically shutoff when the falling water carries the pump activation switch 112 backto the initial level 122. However, if the pump activation switch 112jams or otherwise fails, then the motor 114 may become stuck andcontinue to run for a long time. Thus, if the water level sensor 116 isnot detecting water but the pump analyzer 124 is detecting a long periodof run time on the part of the motor 114 (e.g., if the run time of themotor 114 exceeds a certain length of time), then the sump pump 102 maybe deemed to be experiencing a soft mechanical failure.

Once identified or detected, a soft mechanical failure in a sump pumpmay be resolved by shaking the sump pump. For example, a simplemechanical shake can often “break loose” a build-up of debris or a jamor stall in the sump pump that is the cause of the soft mechanicalfailure. FIGS. 3( a) and 3(b) illustrate different configurations for amechanical shaker 302 that can be used for this purpose. The mechanicalshaker 302 may be in the form of an electromechanical vibration device(e.g. a linear motor) that physically agitates or shakes the sump pump.

Each of FIGS. 3( a) and 3(b) is illustrated with respect to FIG. 1. Assuch, each of FIGS. 3( a) and 3(b) shows the sump pump 102 disposed inthe sump basin 104 along with the pump activation switch 112, the motor114, and the discharge pipe 108. Each of FIGS. 3( a) and 3(b) also showsthe water level sensor 116 being placed at a short distance or justabove the high water level 120 in the basin 104. In FIG. 3( a), themechanical shaker 302 is configured with a shaker arm 306 that extendshorizontally. The shaker arm 306 is then attached to the body of thesump pump 102 by using clamps 308. When energized, vibrations producedby the mechanical shaker 302 are transferred to the sump pump 102 viathe shaker arm 306. In FIG. 3( b), the mechanical shaker 302 isconfigured to attach to the sump pump 102 directly. The mechanicalshaker 302 may be secured to the body of the sump pump 102 by using theclamps 308, for example. When energized, vibrations produced by themechanical shaker 302 are imparted directly onto the sump pump 102.

The intensity and duration of the vibration produced by the mechanicalshaker 302 may be set or adjusted as desired. For example, themechanical shaker 302 may be set to vibrate intensely and continuouslyfor a short burst of time. As another example, the mechanical shaker 302may be set to vibrate in multiple operating cycles (e.g., 3 or 5cycles), with each cycle producing a different level of vibrationintensity (e.g., an increase in the level of intensity going from thefirst cycle to the last cycle). Further, different types of vibrationprofiles may be specified such as a sine sweep, random vibration,synthesized shock, etc.

In both FIGS. 3( a) and 3(b), the mechanical shaker 302 is shown as astandalone unit that may be retrofitted or added to the sump pump 102.In some embodiments, the mechanical shaker 302 may be integrated with orbe part of the sump pump 102. Further, both the mechanical shaker 302and the water level sensor 116 may be connected to the pump analyzer 124so that the pump analyzer 124 can control the operation of themechanical shaker 302 and the water level sensor 116.

The mechanical shaker 302 may be automatically activated in response todetected soft mechanical failures, such as when water overflow isdetected by the water level sensor 116, or when the motor 114 runs toolong (e.g. as determined by the pump analyzer 124) in the absence of anywater overflow detection by the water level sensor 116.

The mechanical shaker 302 may also be automatically activated inresponse to the pump analyzer 124 detecting potential problems with themotor 114. For example, the pump analyzer 124 may determine fromanalyzing the electrical load waveform of the motor 114 that the motor114 is about to stall. As such, the pump analyzer 124 may activate themechanical shaker 302 to try to jolt the motor 114 back to life. Ofcourse, using the mechanical shaker 302 is not the only way to resolvepotential problems detected in the motor 114. In some embodiments, themotor 114 may be automatically turned on and off in an attempt torestart the motor 114 if potential problems are detected by the pumpanalyzer 124.

Moreover, when potential problems with the motor 114 and/or softmechanical failures are identified or detected, the pump analyzer 124may alert or warn a homeowner or user. For example, the pump analyzer124 may send an alert message (e.g., a visual message, an audio message,a text message, an email message, etc.) to a device that the user isusing (e.g., a mobile phone, a computer, etc.). The message may specifythe impending sump pump failures and any automatic actions that weretaken to resolve or remedy the failures. In this manner, the user isnotified or made aware of the situation.

In some embodiments, the pump analyzer 124 may be integrated with or bepart of a home automation system. As such, the pump analyzer 124 maycommunicate data and information to the home automation system regardingimpending sump pump failures and automatic actions that were taken inresponse to the impending failures. The home automation system may inturn inform the user and, if desired, instruct the pump analyzer 124 toperform further actions based on any direction or feedback from theuser. Similarly, the user may access the home automation system to viewand configure the pump analyzer 124 or any of the components connectedto or controlled by the pump analyzer 124.

Communication with the user is also necessary because certain impendingsump pump failures cannot be fully resolved. For example, the motor 114or parts of the sump pump 102 may be physically broken, and thus noamount of shaking by the mechanical shaker 302 can remedy the problem.As such, either the pump analyzer 124 and/or the home automation systemmay send an alarm message to the user or a qualified technician statingthat manual repairs or replacements are needed as soon as possible.

FIG. 4 illustrates a flowchart of an example method 400 for detectingand resolving sump pump failures. The method 400 may include one or moreblocks, routines or functions in the form of computer executableinstructions that are stored in a tangible computer-readable medium(e.g., 124B of FIG. 1) and executed using a processor (e.g., 124A ofFIG. 1). For ease of explanation, FIG. 4 will be described with respectto FIGS. 1-3.

The method 400 may begin by checking the current water level in the sumpbasin 104 (block 402). Generally, this involves determining if water isbeing detected by the water level sensor 116. Based on the readings fromthe water level sensor 116, the method 400 may determine whether or notthe current water level in the basin 104 is acceptable (block 404). Ifthe water level is not acceptable, then the method 400 may determinethat an overflow of water is imminent, and that most likely a softmechanical failure has occurred in the sump pump 102.

The method 400 then begins to automatically resolve the soft mechanicalfailure by setting up the mechanical shaker 302 (block 406). Inparticular, the method 400 may specify a number of operating cycles forthe mechanical shaker 302 to shake the sump pump 102. The method 400 mayalso specify a duration and intensity for each operating cycle. In anembodiment, the method 400 may establish 3 operating cycles, each ofwhich lasts 15 seconds with moderate shaking intensity. Next, the method400 may activate the mechanical shaker 302 (block 408). The mechanicalshaker 302 produces vibrations for the specified duration in eachoperating cycle in an attempt to shake loose any jam, stall or debristhat is causing the soft mechanical failure.

At the end of the specified duration in each operating cycle, the method400 may recheck the current water level in the basin 104 (block 410).Based on the readings from the water level sensor 116, the method 400may determine whether the current water level in the basin 104 is nowacceptable or not (block 412). If the water level is not acceptable,then the method 400 may determine that the soft mechanical failure hasnot been resolved. Subsequently, the method 400 may determine if thenumber of operating cycles has reached zero (block 414). If the numberof operating cycles is not zero, the method 400 may update the iterationon the operating cycles (block 416). The method 400 may then proceed tocontinue operating the mechanical shaker 302 on the sump pump 102 forthe remaining number of cycles at block 408.

If the water level is acceptable at block 412, then the method 400 maydetermine that the soft mechanical failure has been successfullyresolved (e.g., water in the basin 104 has decreased). As such, themethod 400 may proceed to check the motor 114 (block 418). The method400 may also proceed to check the motor 114 if the water level is deemedacceptable at block 404.

At block 418, the method 400 may determine how long the motor 114 isrunning in the absence of any water overflow detection by the waterlevel sensor 116. This is performed to identify or detect further softmechanical failures. For example, certain soft mechanical failures, suchas a jam in the pump activation switch 112, may cause the motor 114 tobecome stuck. Thus, to make sure that the sump pump 102 is operatingproperly, it is necessary to verify that the motor 114 is not runningfor an indefinite amount of time (e.g., the run time of the motor 114does not exceed a certain length of time).

In some embodiments, the method 400 may analyze the electrical loadwaveform of the motor 114 to determine if there are other impendingfailures associated with the motor 114. For example, the method 400 mayanalyze the electrical load waveform of the motor 114 by performing oneor more of a frequency analysis, a waveform comparison, or an evaluationof waveform values. Here, the purpose is to look for meaningfulsignatures that may indicate potential problems associated with themotor 114.

Based on the analysis of the motor 114, the method 400 may determinewhether or not the motor 114 is operating as intended (block 420). Ifthe motor 114 is operating properly, the method 400 may return tobeginning of block 402. On the other hand, if the motor 114 is notoperating properly, then the method 400 may proceed to automaticallyresolve potential problems associated with the motor 114 by setting upthe mechanical shaker 302 (block 422). In particular, the method 400 mayspecify a number of operating cycles for the mechanical shaker 302 toshake the sump pump 102. The method 400 may also specify a duration andintensity for each operating cycle. In an embodiment, the method 400 mayestablish 3 operating cycles, with each operating cycle lasting 10seconds, and an increase in shaking intensity from the first cycle tothe third cycle. Next, the method 400 may activate the mechanical shaker302 in an attempt to remedy the potential problems associated with themotor 114 (block 424).

At the end of the specified duration in each operating cycle, the method400 may recheck the status of the motor 114 (block 426). Based onanother analysis of the motor 114, the method 400 may determine whetheror not the motor 114 is now operating correctly (block 428). If themotor 114 is operating correctly, the method 400 may return to beginningof block 402. However, if the motor 114 is not operating correctly, thenthe method 400 may determine that the potential problems associated withthe motor 114 have not been resolved. Accordingly, the method 400 maydetermine if the number of operating cycles has reached zero (block430). If the number of operating cycles is not zero, the method 400 mayupdate the iteration on the operating cycles (block 432). Subsequently,the method 400 may proceed to continue operating the mechanical shaker302 on the sump pump 102 for the remaining number of cycles at block424.

At either blocks 414 and 430, if the method 400 determines that thenumber of operating cycles has reached zero, but the current water levelis still not acceptable or the motor 114 is still not operatingcorrectly, then the method 400 may proceed to send an alarm message(block 434). Here, the failures in the sump pump 102 cannot be fullyresolved by simply shaking the sump pump 102 with the mechanical shaker302. Manual repairs or replacements must be performed instead.Accordingly, the method 400 may send the alarm message to notify a userof the situation.

The following additional considerations apply to the foregoingdiscussion. Throughout this specification, plural instances mayimplement functions, routines, or operations structures described as asingle instance. Although individual functions and instructions of oneor more methods are illustrated and described as separate operations,one or more of the individual operations may be performed concurrently,and nothing requires that the operations be performed in the orderillustrated. Structures and functionality presented as separatecomponents in example configurations may be implemented as a combinedstructure or component. Similarly, structures and functionalitypresented as a single component may be implemented as separatecomponents. These and other variations, modifications, additions, andimprovements fall within the scope of the subject matter herein.

Additionally, certain embodiments are described herein as includinglogic or a number of functions, components, modules, blocks, ormechanisms. Functions may constitute either software modules (e.g.,non-transitory code stored on a tangible machine-readable storagemedium) or hardware modules. A hardware module is a tangible unitcapable of performing certain operations and may be configured orarranged in a certain manner. In example embodiments, one or morecomputer systems (e.g., a standalone, client or server computer system)or one or more hardware modules of a computer system (e.g., a processoror a group of processors) may be configured by software (e.g., anapplication or application portion) as a hardware module that operatesto perform certain operations as described herein.

In various embodiments, a hardware module may be implementedmechanically or electronically. For example, a hardware module mayinclude dedicated circuitry or logic that is permanently configured(e.g., as a special-purpose processor, such as a field programmable gatearray (FPGA) or an application-specific integrated circuit (ASIC)) toperform certain functions. A hardware module may also compriseprogrammable logic or circuitry (e.g., as encompassed within ageneral-purpose processor or other programmable processor) that istemporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a hardware modulemechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the term hardware should be understood to encompass atangible entity, be that an entity that is physically constructed,permanently configured (e.g., hardwired), or temporarily configured(e.g., programmed) to operate in a certain manner or to perform certainoperations described herein. Considering embodiments in which hardwaremodules are temporarily configured (e.g., programmed), each of thehardware modules need not be configured or instantiated at any oneinstance in time. For example, where the hardware modules comprise ageneral-purpose processor configured using software, the general-purposeprocessor may be configured as respective different hardware modules atdifferent times. Software may accordingly configure a processor, forexample, to constitute a particular hardware module at one instance oftime and to constitute a different hardware module at a differentinstance of time.

Hardware and software modules can provide information to, and receiveinformation from, other hardware and/or software modules. Accordingly,the described hardware modules may be regarded as being communicativelycoupled. Where multiple of such hardware or software modules existcontemporaneously, communications may be achieved through signaltransmission (e.g., over appropriate circuits and buses) that connectthe hardware or software modules. In embodiments in which multiplehardware modules or software are configured or instantiated at differenttimes, communications between such hardware or software modules may beachieved, for example, through the storage and retrieval of informationin memory structures to which the multiple hardware or software moduleshave access. For example, one hardware or software module may perform anoperation and store the output of that operation in a memory device towhich it is communicatively coupled. A further hardware or softwaremodule may then, at a later time, access the memory device to retrieveand process the stored output. Hardware and software modules may alsoinitiate communications with input or output devices, and can operate ona resource (e.g., a collection of information).

The various operations of example functions and methods described hereinmay be performed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Whether temporarily or permanentlyconfigured, such processors may constitute processor-implemented modulesthat operate to perform one or more operations or functions. The modulesreferred to herein may, in some example embodiments, compriseprocessor-implemented modules.

Similarly, the methods or functions described herein may be at leastpartially processor-implemented. For example, at least some of thefunctions of a method may be performed by one or processors orprocessor-implemented hardware modules. The performance of certain ofthe functions may be distributed among the one or more processors, notonly residing within a single machine, but deployed across a number ofmachines. In some example embodiments, the processor or processors maybe located in a single location (e.g., within a home environment, anoffice environment or as a server farm), while in other embodiments theprocessors may be distributed across a number of locations.

The one or more processors may also operate to support performance ofthe relevant operations in a “cloud computing” environment or as a“software as a service” (SaaS). For example, at least some of thefunctions may be performed by a group of computers (as examples ofmachines including processors), these operations being accessible via anetwork (e.g., the Internet) and via one or more appropriate interfaces(e.g., application program interfaces (APIs)).

The performance of certain of the operations may be distributed amongthe one or more processors, not only residing within a single machine,but deployed across a number of machines. In some example embodiments,the one or more processors or processor-implemented modules may belocated in a single geographic location (e.g., within a homeenvironment, an office environment, or a server farm). In other exampleembodiments, the one or more processors or processor-implemented modulesmay be distributed across a number of geographic locations.

Some portions of this specification are presented in terms of algorithmsor symbolic representations of operations on data and data structuresstored as bits or binary digital signals within a machine memory (e.g.,a computer memory). These algorithms or symbolic representations areexamples of techniques used by those of ordinary skill in the dataprocessing arts to convey the substance of their work to others skilledin the art. As used herein, a “function” or a “routine” is aself-consistent sequence of operations or similar processing leading toa desired result. In this context, functions, algorithms, routines andoperations involve physical manipulation of physical quantities.Typically, but not necessarily, such quantities may take the form ofelectrical, magnetic, or optical signals capable of being stored,accessed, transferred, combined, compared, or otherwise manipulated by amachine. It is convenient at times, principally for reasons of commonusage, to refer to such signals using words such as “data,” “content,”“bits,” “values,” “elements,” “symbols,” “characters,” “terms,”“numbers,” “numerals,” or the like. These words, however, are merelyconvenient labels and are to be associated with appropriate physicalquantities.

Unless specifically stated otherwise, discussions herein using wordssuch as “processing,” “computing,” “calculating,” “determining,”“presenting,” “displaying,” or the like may refer to actions orprocesses of a machine (e.g., a computer) that manipulates or transformsdata represented as physical (e.g., electronic, magnetic, or optical)quantities within one or more memories (e.g., volatile memory,non-volatile memory, or a combination thereof), registers, or othermachine components that receive, store, transmit, or displayinformation.

As used herein any reference to “some embodiments” or “one embodiment”or “an embodiment” means that a particular element, feature, structure,or characteristic described in connection with the embodiment isincluded in at least one embodiment. The appearances of the phrase “inone embodiment” in various places in the specification are notnecessarily all referring to the same embodiment.

Some embodiments may be described using the expression “coupled” and“connected” along with their derivatives. For example, some embodimentsmay be described using the term “coupled” to indicate that two or moreelements are in direct physical or electrical contact. The term“coupled,” however, may also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other. The embodiments are not limited in this context.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a function,process, method, article, or apparatus that comprises a list of elementsis not necessarily limited to only those elements but may include otherelements not expressly listed or inherent to such process, method,article, or apparatus. Further, unless expressly stated to the contrary,“or” refers to an inclusive or and not to an exclusive or. For example,a condition A or B is satisfied by any one of the following: A is true(or present) and B is false (or not present), A is false (or notpresent) and B is true (or present), and both A and B are true (orpresent).

In addition, use of the “a” or “an” are employed to describe elementsand components of the embodiments herein. This is done merely forconvenience and to give a general sense of the description. Thisdescription should be read to include one or at least one and thesingular also includes the plural unless it is obvious that it is meantotherwise.

Still further, the figures depict preferred embodiments orimplementations of a system for detecting and resolving sump pumpfailures for purposes of illustration only. One of ordinary skill in theart will readily recognize from the foregoing discussion thatalternative embodiments or implementations of the structures and methodsillustrated herein may be employed without departing from the principlesdescribed herein.

Upon reading this disclosure, those of skill in the art will appreciatestill additional alternative structural and functional designs for asystem and method for detecting and resolving sump pump failures can beused as well or instead. Thus, while particular embodiments andapplications have been illustrated and described, it is to be understoodthat the disclosed embodiments are not limited to the preciseconstruction and components disclosed herein. Various modifications,changes and variations, which will be apparent to those skilled in theart, may be made in the arrangement, operation and details of the methodand apparatus disclosed herein without departing from the spirit andscope defined in the appended claims.

We claim:
 1. A computer-implemented method for detecting and resolving impending failures in a sump pump, the method comprising: determining, by one or more processors, a high water level in a sump basin in which the sump pump is disposed; determining, by one or more processors, if a current water level in the sump basin has surpassed the high water level, the current water level is determined by a water level sensor placed a short distance above the high water level; in response to determining that the current water level in the sump basin has surpassed the high water level, activating, by one or more processors, a mechanical shaker attached to the sump pump for one or more operating cycles; in response to determining that the current water in the sump basin has not surpassed the high water level, determining, by one or more processors, if a run time of a motor of the sump pump exceeds a certain length of time; and when the run time of the motor is determined to exceed the certain length of time, providing, by one or more processors, an alarm to notify a user.
 2. The computer-implemented method of claim 1, further comprising: in response to determining that the current water level in the sump basin has not surpassed the high water level, analyzing, by one or more processors, the motor of the sump pump to detect signatures that indicate potential problems with the motor; and activating, by one or more processors, the mechanical shaker attached to the sump pump for another one or more operating cycles if the signatures that indicate potential problems with the motor are detected.
 3. The computer-implemented method of claim 2, further comprising: analyzing, by one or more processors, the motor to determine if the signatures that indicate potential problems with the motor are still present at the end of the another one or more operating cycles; and in response to determining that the signatures that indicate potential problems with the motor are still present at the end of the another one or more operating cycles, providing, by one or more processors, an alert message to the user.
 4. The computer-implemented method of claim 2, wherein analyzing the motor to detect signatures that indicate potential problems with the motor includes performing a frequency analysis on the electrical load waveform of the motor.
 5. The computer-implemented method of claim 2, wherein analyzing the motor to detect signatures that indicate potential problems with the motor includes comparing the electrical load waveform of the motor to one or more reference waveforms.
 6. The computer-implemented method of claim 2, wherein analyzing the motor to detect signatures that indicate potential problems with the motor includes evaluating values associated with the electrical load waveform of the motor.
 7. The computer-implemented method of claim 1, further comprising: determining, by one or more processors, if the current water level in the sump basin has dropped to below the high water level at the end of the one or more operating cycles; and in response to determining that the current water level in the sump basin has not dropped to below the high water level at the end of the one or more operating cycles, providing, by one or more processors, an alert message to the user.
 8. The computer-implemented method of claim 1, wherein the mechanical shaker is attached to the sump pump directly.
 9. The computer-implemented method of claim 1, wherein the mechanical shaker is attached to the sump pump by an arm that extends from the mechanical shaker.
 10. The computer-implemented method of claim 1, wherein the mechanical shaker produces vibrations that physically shakes the sump pump in order to shake loose one or more of a jam, a stall, a malfunction or a debris build-up in the sump pump.
 11. A non-transitory computer-readable storage medium including computer-readable instructions to be executed on one or more processors of a system for detecting and resolving impending failures in a sump pump, the instructions when executed causing the one or more processors to: determine a high water level in a sump basin in which the sump pump is disposed; determine if a current water level in the sump basin has surpassed the high water level, the current water level is determined by a water level sensor placed a short distance above the high water level; in response to determining that the current water level in the sump basin has surpassed the high water level, activate a mechanical shaker attached to the sump pump for one or more operating cycles; in response to determining that the current water in the sump basin has not surpassed the high water level, determine if a run time of a motor of the sump pump exceeds a certain length of time; and when the run time of the motor is determined to exceed the certain length of time, provide an alarm to notify a user.
 12. The non-transitory computer-readable storage medium of claim 11, further including instructions that, when executed, cause the one or more processors to: in response to determining that the current water level in the sump basin has not surpassed the high water level, analyze the motor of the sump pump to detect signatures that indicate potential problems with the motor; and activate the mechanical shaker attached to the sump pump for another one or more operating cycles if the signatures that indicate potential problems with the motor are detected.
 13. The non-transitory computer-readable storage medium of claim 12, further including instructions that, when executed, cause the one or more processors to: analyze the motor to determine if the signatures that indicate potential problems with the motor are still present at the end of the another one or more operating cycles; and in response to determining that the signatures that indicate potential problems with the motor are still present at the end of the another one or more operating cycles, provide an alert message to the user.
 14. The non-transitory computer-readable storage medium of claim 12, the instructions further including instructions providing for analyzing the motor to detect signatures that indicate potential problems with the motor including one or more of: (i) performing a frequency analysis on the electrical load waveform of the motor; (ii) comparing the electrical load waveform of the motor to one or more reference waveforms; or (iii) evaluating values associated with the electrical load waveform of the motor.
 15. The non-transitory computer-readable storage medium of claim 11, further including instructions that, when executed, cause the one or more processors to: determine if the current water level in the sump basin has dropped to below the high water level at the end of the one or more operating cycles; and in response to determining that the current water level in the sump basin has not dropped to below the high water level at the end of the one or more operating cycles, provide an alert message to the user.
 16. The non-transitory computer-readable storage medium of claim 11, the instructions further including instructions causing the mechanical shaker to produce vibrations that physically shakes the sump pump in order to shake loose one or more of a jam, a stall, a malfunction or a debris build-up in the sump pump.
 17. A system for detecting and resolving impending failures in a sump pump, the system comprising: a sump pump; a water level sensor coupled to the sump pump; a mechanical shaker coupled to the sump pump; and a pump analyzer, including a memory having instructions for execution on one or more processors, the instructions, when executed by the one or more processors, cause the pump analyzer to: determine a high water level in a sump basin in which the sump pump is disposed; determine if a current water level in the sump basin has surpassed the high water level as determined by the water level sensor, the water level sensor placed a short distance above the high water level; in response to determining that the current water level in the sump basin has surpassed the high water level, activate the mechanical shaker for one or more operating cycles; in response to determining that the current water in the sump basin has not surpassed the high water level, determine if a run time of a motor of the sump pump exceeds a certain length of time; and when the run time of the motor is determined to exceed the certain length of time, provide an alarm to notify a user.
 18. The system of claim 17, wherein the instructions of the pump analyzer, when executed by the one or more processors, further cause the pump analyzer to: in response to determining that the current water level in the sump basin has not surpassed the high water level, analyze the motor of the sump pump to detect signatures that indicate potential problems with the motor; and activate the mechanical shaker for another one or more operating cycles if the signatures that indicate potential problems with the motor are detected.
 19. The system of claim 18, wherein the instructions of the pump analyzer, when executed by the one or more processors, further cause the pump analyzer to: analyze the motor to determine if the signatures that indicate potential problems with the motor are still present at the end of the another one or more operating cycles; and in response to determining that the signatures that indicate potential problems with the motor are still present at the end of the another one or more operating cycles, provide an alert message to the user.
 20. The system of claim 18, wherein the instructions of the pump analyzer, when executed by the one or more processors to analyze the motor to detect signatures that indicate potential problems with the motor further include instructions to perform one or more of: (i) a frequency analysis on the electrical load waveform of the motor; (ii) a comparison between the electrical load waveform of the motor and one or more reference waveforms; or (iii) an evaluation of values associated with the electrical load waveform of the motor.
 21. The system of claim 17, wherein the instructions of the pump analyzer, when executed by the one or more processors, further cause the pump analyzer to: determine if the current water level in the sump basin has dropped to below the high water level at the end of the one or more operating cycles; and in response to determining that the current water level in the sump basin has not dropped to below the high water level at the end of the one or more operating cycles, provide an alert message to the user.
 22. The system of claim 17, wherein the mechanical shaker is attached to the sump pump.
 23. The system of claim 17, wherein the mechanical shaker is integrated with the sump pump. 